Light emitting diodes or other sources of light or reflection provide low cost visual status indication in electronic systems. A single LED, for example, can indicate several states simply by being on, off, or by blinking on and off with various combinations of duty factors, pulse patterns, or frequencies. Output voltage and current may also be used to provide status to other electronic devices, but have limited use in visual indication. A common application of status indicators is in battery chargers where an end user needs to know when a battery is charging, fully charged, defective, or has encountered an error condition during charging such as battery under- or over-temperature.
A common problem with existing techniques is that an LED must present information at a rate slow enough for human interpretation. This usually restricts the blink frequency to 10 Hz or less depending on the complexity of the blink pattern, etc. In addition, coding by frequency usually requires separation of at least an octave between various blink frequencies in order to insure correct identification of status.
FIG. 1 illustrates typical status signals, in which region A shows state 1 indicated by a logic low of long duration, region B shows state 2 indicated by a low frequency pulse with a 50% duty cycle, region C illustrates state 3 indicated by a low frequency pulse with a 25% duty cycle, region D shows state 4 indicated by a high frequency square wave, and region E illustrates state 5 indicated by a logic high of long duration. The waveforms represent only a few of the many combinations of pulse trains that may be used for visual status indication through LEDs. A blink rate of 1-2 Hertz may be required in states 2 and 3 in order to make the frequency difference between these states and state 4 sufficiently different to allow ready visual interpretation. State 4 should not blink much faster than 10 Hertz because state 4 may be confused with state 5. At frequencies much above 10 Hertz, human eyes interpret a pulsed light source as a continuously-on light source.
With these restrictions, it becomes clear that a status pin of the battery charger that is designed for visual status indication is a poor interface for microprocessors, microcontrollers or other digital devices. In order to determine status, a microprocessor must observe the status pin for one or more cycles of the lowest frequency pulse train. This is required in order to prevent misinterpreting a change, for example, from state 1 to state 5, as a state 2 event. Many other misinterpreted state combinations are possible if a sufficiently long time is not used to read the status. Even in the best implementation, where a status line from the status pin provides a hardware interrupt to a microprocessor when an edge occurs on the status line, or intelligent edge sampling techniques are used, the microprocessor may need to wait an excessive amount of time to determine status. The subject matter described herein addresses the above shortcomings.